laytonfandomcom_de-20200213-history
Modul:Rätsel Infobox
local p = {} local pgN = mw.title.getCurrentTitle().text local infobox, pData local categories = {} local rData = mw.loadData('Modul:RätselDaten') local function getCleanName(pageName) return pageName:match("^%(+") end local function tt(p1, p2) return "" .. p2 .. "" end local function SpielID() return rDatapgN.spiel end local function NummerID() return rDatapgN.nr end local function getTitle() return mw.loadData("Modul:RätselTitel")pgN end local function isEmpty(arg) return not arg or arg '' end local function addCategory(category) categories#categories+1 = "Kategorie:" .. category .. "" end local function getPuzzle() local nr = NummerID() local game = SpielID() if nr "???" then -- Hidden Door local hd = {"2" = 154, "3" = 169} nr = hdgame end pData = mw.loadData("Modul:RätselDaten/" .. game) return pDatatonumber(nr) end local getGame = { "1" = {anz = 135, anzW = "W27", titel = "Professor Layton und das geheimnisvolle Dorf", kuerzel = "Layton 1"}, "2" = {anz = 153, anzW = "W33", titel = "Professor Layton und die Schatulle der Pandora", kuerzel = "Layton 2"}, "3" = {anz = 168, anzW = "W35", titel = "Professor Layton und die verlorene Zukunft", kuerzel = "Layton 3"}, "4" = {anz = 170, anzW = "W34", titel = "Professor Layton und der Ruf des Phantoms", kuerzel = "Layton 4"}, "5" = {anz = 150, titel = "Professor Layton und die Maske der Wunder", kuerzel = "Layton 5"}, "6" = {anz = 165, titel = "Professor Layton und das Vermächtnis von Aslant", kuerzel = "Layton 6"}, "VS" = {anz = 82, titel = "Professor Layton vs. Phoenix Wright: Ace Attorney", kuerzel = "Layton vs. Wright"}, "MJ" = {anz = 170, titel = "Layton’s Mystery Journey: Katrielle und die Verschwörung der Millionäre", kuerzel = "Layton’s Mystery Journey"} } function p.istRaetsel() if isEmpty(rDatapgN) then return '' else return true end end function p.Bild() return "link=" end function p.Name() return getCleanName(pgN) end function p.Anz() return getGameSpielID().anz end function p.AnzW() return getGameSpielID().anzW end function p.NummerID() return rDatapgN.nr end function p.SpielID() return rDatapgN.spiel end function p.NrJP() return rDatapgN.nrJP end function p.Spiel() return getGameSpielID().titel end function p.Kapitel() return rDatapgN.kapitel end function p.Ort() if not isEmpty(rDatapgN.ort) then return "[.. rData[pgN.ort .. "]] [.. rData[pgN.ort .. "]]" end end function p.Loeser() if isEmpty(rDatapgN.loeser) then return "Kategorie:Löser fehlt" else return "[.. rData[pgN.loeser .. "]] [Rätsel von " .. rData[pgN.loeser .. "]]" end end function p.Vorschau(frame) local name = frame.args1 local puzzle = getPuzzle() local aNum = tonumber(NummerID()) local pPrev, pNext if aNum then pPrev = pDataaNum-1 pNext = pDataaNum+1 if not pPrev or tonumber(pPrev.nr) ~= aNum-1 then pPrev = nil end if not pNext or tonumber(pNext.nr) ~= aNum+1 then pNext = nil end end if name "l" and pPrev then return "← " .. (getCleanName(pPrev.name) or '?') .. "" elseif name "r" and pNext then return "" .. (getCleanName(pNext.name) or '?') .. " →" end end function p.Pikarat() local s if rDatapgN.pikaratJP then s = rDatapgN.pikarat .. " " .. rDatapgN.pikaratJP .. "JP" else if rDatapgN.pikarat then s = rDatapgN.pikarat end end if rDatapgN.pikarat then return s .. "[.. rData[pgN.pikarat .. " Pikarat]]" end end function p.Typ() if not isEmpty(rDatapgN.typ) then local cat1 = "[.. rData[pgN.typ .. "]]" if not isEmpty(rDatapgN.typ2) then local cat2 = cat1 .. "[.. rData[pgN.typ2 .. "]]" return "[.. rData[pgN.typ .. '|' .. rDatapgN.typ .."]]/[.. rData[pgN.typ2 .. '|' .. rDatapgN.typ2 .. "]]" .. cat2 else return "[.. rData[pgN.typ .. '|' .. rDatapgN.typ .. "]]" .. cat1 end end end function p.Person() if not isEmpty(rDatapgN.person) then local cat1 = "[Rätsel von " .. rData[pgN.person .. "]]" if not isEmpty(rDatapgN.person2) then local cat2 = cat1 .. "[Rätsel von " .. rData[pgN.person2 .. "]]" return "[.. rData[pgN.person .. "]] und [.. rData[pgN.person2 .. "]]" .. cat2 else return "[.. rData[pgN.person .. "]]" .. cat1 end end end function p.Belohnung() if not isEmpty(rDatapgN.belohnung) then return rDatapgN.belohnung else return "Für dieses Rätsel gibt es keine Belohnung" end end function p.Handlung() if rDatapgN.handlung then return "Wichtiges Rätsel für das Voranschreiten des Spiels [Rätsel für das Voranschreiten von " .. getGame[SpielID().kuerzel .. "]]" end end function p.AnzahlW(frame) local code = frame.args1 if code "EU" then return "link= " .. rDatapgN.nr .. "/" .. getGameSpielID().anzW elseif code "JP" and not isEmpty(rDatapgN.nrJP) then return " link= " .. rDatapgN.nrJP .. "/W52" elseif code "US" and not isEmpty(rDatapgN.nrUS) then return " link= " .. rDatapgN.nrUS .. "/W27" end end function p.Datum(frame) local lang = frame.args1 if lang "JP" then if not isEmpty(rDatapgN.datumJP) then return rDatapgN.datumJP end elseif lang "US" then if not isEmpty(rDatapgN.datumUS) then return rDatapgN.datumUS end else return rDatapgN.datum end end function p.Titel(frame) local code = frame.args1 local a = frame:getParent().args local title local hilf = { "EN" = {A = "Englischer Titel fehlt", B = getTitle().En}, "US" = {B = getTitle().Us}, "UK" = {B = getTitle().Uk}, "IT" = {A = "Italienischer Titel fehlt", B = getTitle().It}, "FR" = {A = "Französischer Titel fehlt", B = getTitle().Fr}, "SP" = {A = "Spanischer Titel fehlt", B = getTitle().Sp}, "KR" = {A = "Koreanischer Titel fehlt", B = getTitle().Kr}, --"NL" = {B = "Niederländischer Titel fehlt", getTitle().Nl}, } if code "JP" then if not isEmpty(getTitle().Romaji) then title = tt(getTitle().Romaji, getTitle().Jp) else title = getTitle().Jp end elseif code "KR" then if not isEmpty(getTitle().Romaja) then title = tt(getTitle().Romaja, getTitle().Kr) else title = getTitle().Kr end elseif code "NL" then if isEmpty(getTitle().Nl) and SpielID() ~= "1" then title = "Unbekannt" elseif SpielID() ~= "1" then title = getTitle().Nl end else if isEmpty(hilfcode.B) then if code "SP" or code "IT" or code "FR" then title = "Unbekannt" .. "[.. hilf[code.A .. "]]" end else title = hilfcode.B end end return title end function p.Region() if not isEmpty(rDatapgN.region) then if rDatapgN.region "Jp" then return "link= Japan" .. "Kategorie:Japanische Rätsel" elseif rDatapgN.region "US" then return "link= Nordamerika" .. "Kategorie:Amerikanische Rätsel" elseif rDatapgN.region "Jp-US" then return "link=" .. "link=" .. "Japan und Nordamerika" .. "Kategorie:Japanische Rätsel" .. "Kategorie:Amerikanische Rätsel" end else return "Kategorie:Region fehlt" end end return p --